This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Cmd+Shift+Enter.

install.packages("data.table")
library(data.table)

install.packages("plotly")
library(plotly)

install.packages("stringr")
library(stringr)

install.packages("moments")
library("moments")

# load libraries

Crawford

library(data.table)
library(plotly)
library(stringr)
library("moments")


#pre <- fread("CYSMN_Pre Survey_MODIFIED.csv")
post <- fread("CYSMN_Post Survey_MODIFIED.csv")

scentB <- post[ which(str_detect(post$Q19, "B")),]
scentA <- post[ which(str_detect(post$Q19, "A")),]

# Begin Plots
Questions <- c("Q1", "Q2", "Q3", "Q4", "Q5")
rosemary <- c(mean(scentA$Q1), mean(scentA$Q2), mean(scentA$Q3), mean(scentA$Q4), mean(scentA$Q5))
lavender <- c(mean(scentB$Q1), mean(scentB$Q2), mean(scentB$Q3), mean(scentA$Q4), mean(scentB$Q5))
data <- data.frame(Questions, rosemary, lavender)

fig <- plot_ly(data, x = ~Questions, y = ~rosemary, type = 'bar', name = 'Rosemary')
fig <- fig %>% add_trace(y = ~lavender, name = 'Lavender')
fig <- fig %>% layout(yaxis = list(title = 'Rating'), barmode = 'group')

fig

NA
NA
NA

Load Data

rr

data <- fread(_Post Survey_MODIFIED.csv)

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Cmd+Option+I. scriptive Statistics

rr

#Get Type A Questions

COLUMN STATEMENTS

Q1A <- c(scentA\(Q1) Q13A <- c(scentA\)Q13) Q14A <- c(scentA\(Q14) Q2A <- c(scentA\)Q2) Q3A <- c(scentA\(Q3) Q4A <- c(scentA\)Q4) Q5A <- c(scentA\(Q5) Q6A <- c(scentA\)Q6) Q7A <- c(scentA\(Q7) Q8A <- c(scentA\)Q8) Q9A <- c(scentA\(Q9) Q10A <- c(scentA\)Q10) Q11A <- c(scentA\(Q11) Q12A <- c(scentA\)Q12)

AVERAGE STATEMENTS

avgQ1A <- mean(Q1A) avgQ13A <- mean(Q13A) avgQ14A <- mean(Q14A) avgQ2A <- mean(Q2A) avgQ3A <- mean(Q3A) avgQ4A <- mean(Q4A) avgQ5A <- mean(Q5A) avgQ6A <- mean(Q6A) avgQ7A <- mean(Q7A) avgQ8A <- mean(Q8A) avgQ9A <- mean(Q9A) avgQ10A <- mean(Q10A) avgQ11A <- mean(Q11A) avgQ12A <- mean(Q12A)

COLUMN STATEMENTS

Q1B <- c(scentB\(Q1) Q13B <- c(scentB\)Q13) Q14B <- c(scentB\(Q14) Q2B <- c(scentB\)Q2) Q3B <- c(scentB\(Q3) Q4B <- c(scentB\)Q4) Q5B <- c(scentB\(Q5) Q6B <- c(scentB\)Q6) Q7B <- c(scentB\(Q7) Q8B <- c(scentB\)Q8) Q9B <- c(scentB\(Q9) Q10B <- c(scentB\)Q10) Q11B <- c(scentB\(Q11) Q12B <- c(scentB\)Q12)

AVERAGE STATEMENTS

avgQ1B <- mean(Q1B) avgQ13B <- mean(Q13B) avgQ14B <- mean(Q14B) avgQ2B <- mean(Q2B) avgQ3B <- mean(Q3B) avgQ4B <- mean(Q4B) avgQ5B <- mean(Q5B) avgQ6B <- mean(Q6B) avgQ7B <- mean(Q7B) avgQ8B <- mean(Q8B) avgQ9B <- mean(Q9B) avgQ10B <- mean(Q10B) avgQ11B <- mean(Q11B) avgQ12B <- mean(Q12B)

testQ1 <- wilcox.test(Q1B, Q1A, mu=0, alt=.sided, conf.int=T, conf.level=0.95, paired=T, exact=T, correct=T)

testQ1 <- t.test(Q1B, Q1A) print(testQ1)


    Welch Two Sample t-test

data:  Q1B and Q1A
t = 0.92848, df = 5.3567, p-value = 0.3931
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.428383  3.095050
sample estimates:
mean of x mean of y 
 6.166667  5.333333 

rr

New data frame for Type A

new_df_TA <- data.frame(Q1A, Q13A, Q14A, Q2A, Q3A, Q4A, Q5A, Q6A, Q7A, Q8A, Q9A, Q10A, Q11A, Q12A)

Skewed Values for Type A

skew_Q1A <- skewness(new_df_TA\(Q1A) skew_Q13A <- skewness(new_df_TA\)Q13A) skew_Q14A <- skewness(new_df_TA\(Q14A) skew_Q2A <- skewness(new_df_TA\)Q2A) skew_Q3A <- skewness(new_df_TA\(Q3A) skew_Q4A <- skewness(new_df_TA\)Q4A) skew_Q5A <- skewness(new_df_TA\(Q5A) skew_Q6A <- skewness(new_df_TA\)Q6A) skew_Q7A <- skewness(new_df_TA\(Q7A) skew_Q8A <- skewness(new_df_TA\)Q8A) skew_Q9A <- skewness(new_df_TA\(Q9A) skew_Q10A <- skewness(new_df_TA\)Q10A) skew_Q11A <- skewness(new_df_TA\(Q11A) skew_Q12A <- skewness(new_df_TA\)Q12A)

rr

library(datasets) data(iris) library(plotly) # https://plotly.com/r/line-and-scatter/

LS0tCnRpdGxlOiAiQ1lTTU4gRGF0YVNldDEiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KClRoaXMgaXMgYW4gW1IgTWFya2Rvd25dKGh0dHA6Ly9ybWFya2Rvd24ucnN0dWRpby5jb20pIE5vdGVib29rLiBXaGVuIHlvdSBleGVjdXRlIGNvZGUgd2l0aGluIHRoZSBub3RlYm9vaywgdGhlIHJlc3VsdHMgYXBwZWFyIGJlbmVhdGggdGhlIGNvZGUuIAoKVHJ5IGV4ZWN1dGluZyB0aGlzIGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqUnVuKiBidXR0b24gd2l0aGluIHRoZSBjaHVuayBvciBieSBwbGFjaW5nIHlvdXIgY3Vyc29yIGluc2lkZSBpdCBhbmQgcHJlc3NpbmcgKkNtZCtTaGlmdCtFbnRlciouIAoKYGBge3J9Cmluc3RhbGwucGFja2FnZXMoImRhdGEudGFibGUiKQpsaWJyYXJ5KGRhdGEudGFibGUpCgppbnN0YWxsLnBhY2thZ2VzKCJwbG90bHkiKQpsaWJyYXJ5KHBsb3RseSkKCmluc3RhbGwucGFja2FnZXMoInN0cmluZ3IiKQpsaWJyYXJ5KHN0cmluZ3IpCgppbnN0YWxsLnBhY2thZ2VzKCJtb21lbnRzIikKbGlicmFyeSgibW9tZW50cyIpCgojIGxvYWQgbGlicmFyaWVzCmBgYAoKQ3Jhd2ZvcmQgCmBgYHtyfQpsaWJyYXJ5KGRhdGEudGFibGUpCmxpYnJhcnkocGxvdGx5KQpsaWJyYXJ5KHN0cmluZ3IpCmxpYnJhcnkoIm1vbWVudHMiKQoKCiNwcmUgPC0gZnJlYWQoIkNZU01OX1ByZSBTdXJ2ZXlfTU9ESUZJRUQuY3N2IikKcG9zdCA8LSBmcmVhZCgiQ1lTTU5fUG9zdCBTdXJ2ZXlfTU9ESUZJRUQuY3N2IikKCnNjZW50QiA8LSBwb3N0WyB3aGljaChzdHJfZGV0ZWN0KHBvc3QkUTE5LCAiQiIpKSxdCnNjZW50QSA8LSBwb3N0WyB3aGljaChzdHJfZGV0ZWN0KHBvc3QkUTE5LCAiQSIpKSxdCgojIEJlZ2luIFBsb3RzClF1ZXN0aW9ucyA8LSBjKCJRMSIsICJRMiIsICJRMyIsICJRNCIsICJRNSIpCnJvc2VtYXJ5IDwtIGMobWVhbihzY2VudEEkUTEpLCBtZWFuKHNjZW50QSRRMiksIG1lYW4oc2NlbnRBJFEzKSwgbWVhbihzY2VudEEkUTQpLCBtZWFuKHNjZW50QSRRNSkpCmxhdmVuZGVyIDwtIGMobWVhbihzY2VudEIkUTEpLCBtZWFuKHNjZW50QiRRMiksIG1lYW4oc2NlbnRCJFEzKSwgbWVhbihzY2VudEEkUTQpLCBtZWFuKHNjZW50QiRRNSkpCmRhdGEgPC0gZGF0YS5mcmFtZShRdWVzdGlvbnMsIHJvc2VtYXJ5LCBsYXZlbmRlcikKCmZpZyA8LSBwbG90X2x5KGRhdGEsIHggPSB+UXVlc3Rpb25zLCB5ID0gfnJvc2VtYXJ5LCB0eXBlID0gJ2JhcicsIG5hbWUgPSAnUm9zZW1hcnknKQpmaWcgPC0gZmlnICU+JSBhZGRfdHJhY2UoeSA9IH5sYXZlbmRlciwgbmFtZSA9ICdMYXZlbmRlcicpCmZpZyA8LSBmaWcgJT4lIGxheW91dCh5YXhpcyA9IGxpc3QodGl0bGUgPSAnUmF0aW5nJyksIGJhcm1vZGUgPSAnZ3JvdXAnKQoKZmlnCgoKCmBgYAoKTG9hZCBEYXRhCmBgYHtyfQoKI2RhdGEgPC0gZnJlYWQoIkNZU01OX1Bvc3QgU3VydmV5X01PRElGSUVELmNzdiIpCiNzY2VudEIgPC0gZGF0YVsgd2hpY2goc3RyX2RldGVjdChkYXRhJFExOSwgIkIiKSksXQojc2NlbnRBIDwtIGRhdGFbIHdoaWNoKHN0cl9kZXRlY3QoZGF0YSRRMTksICJBIikpLF0KCmBgYAoKCkFkZCBhIG5ldyBjaHVuayBieSBjbGlja2luZyB0aGUgKkluc2VydCBDaHVuayogYnV0dG9uIG9uIHRoZSB0b29sYmFyIG9yIGJ5IHByZXNzaW5nICpDbWQrT3B0aW9uK0kqLgpzY3JpcHRpdmUgU3RhdGlzdGljcwpgYGB7cn0KCgpgYGAKCgoKYGBge3J9CgojR2V0IFR5cGUgQSBRdWVzdGlvbnMKCiMjIyMjIyMjIyMjIyMjICAgICAgIENPTFVNTiBTVEFURU1FTlRTICAgICAgICAgICMjIyMjIyMjIyMjIyMjIwpRMUEgPC0gYyhzY2VudEEkUTEpClExM0EgPC0gYyhzY2VudEEkUTEzKQpRMTRBIDwtIGMoc2NlbnRBJFExNCkKUTJBIDwtIGMoc2NlbnRBJFEyKQpRM0EgPC0gYyhzY2VudEEkUTMpClE0QSA8LSBjKHNjZW50QSRRNCkKUTVBIDwtIGMoc2NlbnRBJFE1KQpRNkEgPC0gYyhzY2VudEEkUTYpClE3QSA8LSBjKHNjZW50QSRRNykKUThBIDwtIGMoc2NlbnRBJFE4KQpROUEgPC0gYyhzY2VudEEkUTkpClExMEEgPC0gYyhzY2VudEEkUTEwKQpRMTFBIDwtIGMoc2NlbnRBJFExMSkKUTEyQSA8LSBjKHNjZW50QSRRMTIpCgoKIyMjIyMjIyMjIyMjIyMgICAgICAgQVZFUkFHRSBTVEFURU1FTlRTICAgICAgICAgICMjIyMjIyMjIyMjIyMjIwphdmdRMUEgPC0gbWVhbihRMUEpCmF2Z1ExM0EgPC0gbWVhbihRMTNBKQphdmdRMTRBIDwtIG1lYW4oUTE0QSkKYXZnUTJBIDwtIG1lYW4oUTJBKQphdmdRM0EgPC0gbWVhbihRM0EpCmF2Z1E0QSA8LSBtZWFuKFE0QSkKYXZnUTVBIDwtIG1lYW4oUTVBKQphdmdRNkEgPC0gbWVhbihRNkEpCmF2Z1E3QSA8LSBtZWFuKFE3QSkKYXZnUThBIDwtIG1lYW4oUThBKQphdmdROUEgPC0gbWVhbihROUEpCmF2Z1ExMEEgPC0gbWVhbihRMTBBKQphdmdRMTFBIDwtIG1lYW4oUTExQSkKYXZnUTEyQSA8LSBtZWFuKFExMkEpCgojIyMjIyMjIyMjIyMjIyAgICAgICBQUklOVCBTVEFURU1FTlRTICAgICAgICAgICMjIyMjIyMjIyMjIyMjIwpzdHJpbmdRMUEgPC0gIlF1ZXN0aW9uIDEgZm9yIFR5cGUgQSBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1ExQSwgYXZnUTFBKSkKcHJpbnQoIiIpCgpzdHJpbmdRMTNBIDwtICJRdWVzdGlvbiAyIGZvciBUeXBlIEEgYXZlcmFnZTogIgpwcmludChwYXN0ZShzdHJpbmdRMTNBLCBhdmdRMTNBKSkKcHJpbnQoIiIpCgpzdHJpbmdRMTRBIDwtICJRdWVzdGlvbiAzIGZvciBUeXBlIEEgYXZlcmFnZTogIgpwcmludChwYXN0ZShzdHJpbmdRMTRBLCBhdmdRMTRBKSkKcHJpbnQoIiIpCgpzdHJpbmdRMkEgPC0gIlF1ZXN0aW9uIDQgZm9yIFR5cGUgQSBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1EyQSwgYXZnUTJBKSkKcHJpbnQoIiIpCgpzdHJpbmdRM0EgPC0gIlF1ZXN0aW9uIDUgZm9yIFR5cGUgQSBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1EzQSwgYXZnUTNBKSkKcHJpbnQoIiIpCgpzdHJpbmdRNEEgPC0gIlF1ZXN0aW9uIDYgZm9yIFR5cGUgQSBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1E0QSwgYXZnUTRBKSkKcHJpbnQoIiIpCgpzdHJpbmdRNUEgPC0gIlF1ZXN0aW9uIDcgZm9yIFR5cGUgQSBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1E1QSwgYXZnUTVBKSkKcHJpbnQoIiIpCgpzdHJpbmdRNkEgPC0gIlF1ZXN0aW9uIDggZm9yIFR5cGUgQSBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1E2QSwgYXZnUTZBKSkKcHJpbnQoIiIpCgpzdHJpbmdRN0EgPC0gIlF1ZXN0aW9uIDkgZm9yIFR5cGUgQSBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1E3QSwgYXZnUTdBKSkKcHJpbnQoIiIpCgpzdHJpbmdROEEgPC0gIlF1ZXN0aW9uIDEwIGZvciBUeXBlIEEgYXZlcmFnZTogIgpwcmludChwYXN0ZShzdHJpbmdROEEsIGF2Z1E4QSkpCnByaW50KCIiKQoKc3RyaW5nUTlBIDwtICJRdWVzdGlvbiAxMSBmb3IgVHlwZSBBIGF2ZXJhZ2U6ICIKcHJpbnQocGFzdGUoc3RyaW5nUTlBLCBhdmdROUEpKQpwcmludCgiIikKCnN0cmluZ1ExMEEgPC0gIlF1ZXN0aW9uIDEyIGZvciBUeXBlIEEgYXZlcmFnZTogIgpwcmludChwYXN0ZShzdHJpbmdRMTBBLCBhdmdRMTBBKSkKcHJpbnQoIiIpCgpzdHJpbmdRMTFBIDwtICJRdWVzdGlvbiAxMyBmb3IgVHlwZSBBIGF2ZXJhZ2U6ICIKcHJpbnQocGFzdGUoc3RyaW5nUTExQSwgYXZnUTExQSkpCnByaW50KCIiKQoKc3RyaW5nUTEyQSA8LSAiUXVlc3Rpb24gMTQgZm9yIFR5cGUgQSBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1ExMkEsIGF2Z1ExMkEpKQpwcmludCgiIikKCmBgYAoKYGBge3J9CgojR2V0IFR5cGUgQiBRdWVzdGlvbnMKCiMjIyMjIyMjIyMjIyMjICAgICAgIENPTFVNTiBTVEFURU1FTlRTICAgICAgICAgICMjIyMjIyMjIyMjIyMjIwpRMUIgPC0gYyhzY2VudEIkUTEpClExM0IgPC0gYyhzY2VudEIkUTEzKQpRMTRCIDwtIGMoc2NlbnRCJFExNCkKUTJCIDwtIGMoc2NlbnRCJFEyKQpRM0IgPC0gYyhzY2VudEIkUTMpClE0QiA8LSBjKHNjZW50QiRRNCkKUTVCIDwtIGMoc2NlbnRCJFE1KQpRNkIgPC0gYyhzY2VudEIkUTYpClE3QiA8LSBjKHNjZW50QiRRNykKUThCIDwtIGMoc2NlbnRCJFE4KQpROUIgPC0gYyhzY2VudEIkUTkpClExMEIgPC0gYyhzY2VudEIkUTEwKQpRMTFCIDwtIGMoc2NlbnRCJFExMSkKUTEyQiA8LSBjKHNjZW50QiRRMTIpCgoKIyMjIyMjIyMjIyMjIyMgICAgICAgQVZFUkFHRSBTVEFURU1FTlRTICAgICAgICAgICMjIyMjIyMjIyMjIyMjIwphdmdRMUIgPC0gbWVhbihRMUIpCmF2Z1ExM0IgPC0gbWVhbihRMTNCKQphdmdRMTRCIDwtIG1lYW4oUTE0QikKYXZnUTJCIDwtIG1lYW4oUTJCKQphdmdRM0IgPC0gbWVhbihRM0IpCmF2Z1E0QiA8LSBtZWFuKFE0QikKYXZnUTVCIDwtIG1lYW4oUTVCKQphdmdRNkIgPC0gbWVhbihRNkIpCmF2Z1E3QiA8LSBtZWFuKFE3QikKYXZnUThCIDwtIG1lYW4oUThCKQphdmdROUIgPC0gbWVhbihROUIpCmF2Z1ExMEIgPC0gbWVhbihRMTBCKQphdmdRMTFCIDwtIG1lYW4oUTExQikKYXZnUTEyQiA8LSBtZWFuKFExMkIpCgojIyMjIyMjIyMjIyMjIyAgICAgICBQUklOVCBTVEFURU1FTlRTICAgICAgICAgICMjIyMjIyMjIyMjIyMjIwpzdHJpbmdRMUIgPC0gIlF1ZXN0aW9uIDEgZm9yIFR5cGUgQiBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1ExQiwgYXZnUTFCKSkKcHJpbnQoIiIpCgpzdHJpbmdRMTNCIDwtICJRdWVzdGlvbiAyIGZvciBUeXBlIEIgYXZlcmFnZTogIgpwcmludChwYXN0ZShzdHJpbmdRMTNCLCBhdmdRMTNCKSkKcHJpbnQoIiIpCgpzdHJpbmdRMTRCIDwtICJRdWVzdGlvbiAzIGZvciBUeXBlIEIgYXZlcmFnZTogIgpwcmludChwYXN0ZShzdHJpbmdRMTRCLCBhdmdRMTRCKSkKcHJpbnQoIiIpCgpzdHJpbmdRMkIgPC0gIlF1ZXN0aW9uIDQgZm9yIFR5cGUgQiBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1EyQiwgYXZnUTJCKSkKcHJpbnQoIiIpCgpzdHJpbmdRM0IgPC0gIlF1ZXN0aW9uIDUgZm9yIFR5cGUgQiBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1EzQiwgYXZnUTNCKSkKcHJpbnQoIiIpCgpzdHJpbmdRNEIgPC0gIlF1ZXN0aW9uIDYgZm9yIFR5cGUgQiBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1E0QiwgYXZnUTRCKSkKcHJpbnQoIiIpCgpzdHJpbmdRNUIgPC0gIlF1ZXN0aW9uIDcgZm9yIFR5cGUgQiBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1E1QiwgYXZnUTVCKSkKcHJpbnQoIiIpCgpzdHJpbmdRNkIgPC0gIlF1ZXN0aW9uIDggZm9yIFR5cGUgQiBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1E2QiwgYXZnUTZCKSkKcHJpbnQoIiIpCgpzdHJpbmdRN0IgPC0gIlF1ZXN0aW9uIDkgZm9yIFR5cGUgQiBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1E3QiwgYXZnUTdCKSkKcHJpbnQoIiIpCgpzdHJpbmdROEIgPC0gIlF1ZXN0aW9uIDEwIGZvciBUeXBlIEIgYXZlcmFnZTogIgpwcmludChwYXN0ZShzdHJpbmdROEIsIGF2Z1E4QikpCnByaW50KCIiKQoKc3RyaW5nUTlCIDwtICJRdWVzdGlvbiAxMSBmb3IgVHlwZSBCIGF2ZXJhZ2U6ICIKcHJpbnQocGFzdGUoc3RyaW5nUTlCLCBhdmdROUIpKQpwcmludCgiIikKCnN0cmluZ1ExMEIgPC0gIlF1ZXN0aW9uIDEyIGZvciBUeXBlIEIgYXZlcmFnZTogIgpwcmludChwYXN0ZShzdHJpbmdRMTBCLCBhdmdRMTBCKSkKcHJpbnQoIiIpCgpzdHJpbmdRMTFCIDwtICJRdWVzdGlvbiAxMyBmb3IgVHlwZSBCIGF2ZXJhZ2U6ICIKcHJpbnQocGFzdGUoc3RyaW5nUTExQiwgYXZnUTExQikpCnByaW50KCIiKQoKc3RyaW5nUTEyQiA8LSAiUXVlc3Rpb24gMTQgZm9yIFR5cGUgQiBhdmVyYWdlOiAiCnByaW50KHBhc3RlKHN0cmluZ1ExMkIsIGF2Z1ExMkIpKQpwcmludCgiIikKCmBgYAoKYGBge3J9CgojIyMjIyMjIyMjIyMjIyMgICAgICAgICAgV2lsY294IFRlc3RpbmcgZm9yIFR5cGUgQSAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgdGVzdFExIDwtIHdpbGNveC50ZXN0KFExQiwgUTFBLCBtdT0wLCBhbHQ9InR3by5zaWRlZCIsIGNvbmYuaW50PVQsIGNvbmYubGV2ZWw9MC45NSwgcGFpcmVkPVQsIGV4YWN0PVQsIGNvcnJlY3Q9VCkKCnRlc3RRMSA8LSB0LnRlc3QoUTFCLCBRMUEpCnByaW50KHRlc3RRMSkKCmBgYAoKCgpgYGB7cn0KCiMjIyMjIyMjIyAgICAgICAgICAgTmV3IGRhdGEgZnJhbWUgZm9yIFR5cGUgQSAjIyMjIyMjIyMjIyMjIyMjIyMjCm5ld19kZl9UQSA8LSBkYXRhLmZyYW1lKFExQSwgUTEzQSwgUTE0QSwgUTJBLCBRM0EsIFE0QSwgUTVBLCBRNkEsIFE3QSwgUThBLCBROUEsIFExMEEsIFExMUEsIFExMkEpCgojIyMjIyMjIyMjIyMgICAgIFNrZXdlZCBWYWx1ZXMgZm9yIFR5cGUgQSAgICAgICMjIyMjIyMjIyMjIyMKc2tld19RMUEgPC0gc2tld25lc3MobmV3X2RmX1RBJFExQSkKc2tld19RMTNBIDwtIHNrZXduZXNzKG5ld19kZl9UQSRRMTNBKQpza2V3X1ExNEEgPC0gc2tld25lc3MobmV3X2RmX1RBJFExNEEpCnNrZXdfUTJBIDwtIHNrZXduZXNzKG5ld19kZl9UQSRRMkEpCnNrZXdfUTNBIDwtIHNrZXduZXNzKG5ld19kZl9UQSRRM0EpCnNrZXdfUTRBIDwtIHNrZXduZXNzKG5ld19kZl9UQSRRNEEpCnNrZXdfUTVBIDwtIHNrZXduZXNzKG5ld19kZl9UQSRRNUEpCnNrZXdfUTZBIDwtIHNrZXduZXNzKG5ld19kZl9UQSRRNkEpCnNrZXdfUTdBIDwtIHNrZXduZXNzKG5ld19kZl9UQSRRN0EpCnNrZXdfUThBIDwtIHNrZXduZXNzKG5ld19kZl9UQSRROEEpCnNrZXdfUTlBIDwtIHNrZXduZXNzKG5ld19kZl9UQSRROUEpCnNrZXdfUTEwQSA8LSBza2V3bmVzcyhuZXdfZGZfVEEkUTEwQSkKc2tld19RMTFBIDwtIHNrZXduZXNzKG5ld19kZl9UQSRRMTFBKQpza2V3X1ExMkEgPC0gc2tld25lc3MobmV3X2RmX1RBJFExMkEpCgoKYGBgCgoKCmBgYHtyfQoKbGlicmFyeShkYXRhc2V0cykKZGF0YShpcmlzKQpsaWJyYXJ5KHBsb3RseSkKIyBodHRwczovL3Bsb3RseS5jb20vci9saW5lLWFuZC1zY2F0dGVyLwoKCgpgYGAKCgoKCgpgYGB7cn0KCmBgYAoKCgoKCgo=